17 research outputs found

    Improving Programming Support for Hardware Accelerators Through Automata Processing Abstractions

    Full text link
    The adoption of hardware accelerators, such as Field-Programmable Gate Arrays, into general-purpose computation pipelines continues to rise, driven by recent trends in data collection and analysis as well as pressure from challenging physical design constraints in hardware. The architectural designs of many of these accelerators stand in stark contrast to the traditional von Neumann model of CPUs. Consequently, existing programming languages, maintenance tools, and techniques are not directly applicable to these devices, meaning that additional architectural knowledge is required for effective programming and configuration. Current programming models and techniques are akin to assembly-level programming on a CPU, thus placing significant burden on developers tasked with using these architectures. Because programming is currently performed at such low levels of abstraction, the software development process is tedious and challenging and hinders the adoption of hardware accelerators. This dissertation explores the thesis that theoretical finite automata provide a suitable abstraction for bridging the gap between high-level programming models and maintenance tools familiar to developers and the low-level hardware representations that enable high-performance execution on hardware accelerators. We adopt a principled hardware/software co-design methodology to develop a programming model providing the key properties that we observe are necessary for success, namely performance and scalability, ease of use, expressive power, and legacy support. First, we develop a framework that allows developers to port existing, legacy code to run on hardware accelerators by leveraging automata learning algorithms in a novel composition with software verification, string solvers, and high-performance automata architectures. Next, we design a domain-specific programming language to aid programmers writing pattern-searching algorithms and develop compilation algorithms to produce finite automata, which supports efficient execution on a wide variety of processing architectures. Then, we develop an interactive debugger for our new language, which allows developers to accurately identify the locations of bugs in software while maintaining support for high-throughput data processing. Finally, we develop two new automata-derived accelerator architectures to support additional applications, including the detection of security attacks and the parsing of recursive and tree-structured data. Using empirical studies, logical reasoning, and statistical analyses, we demonstrate that our prototype artifacts scale to real-world applications, maintain manageable overheads, and support developers' use of hardware accelerators. Collectively, the research efforts detailed in this dissertation help ease the adoption and use of hardware accelerators for data analysis applications, while supporting high-performance computation.PHDComputer Science & EngineeringUniversity of Michigan, Horace H. Rackham School of Graduate Studieshttps://deepblue.lib.umich.edu/bitstream/2027.42/155224/1/angstadt_1.pd

    A Virtual Machine Model for Accelerating Relational Database Joins using a General Purpose GPU

    Get PDF
    ABSTRACT We demonstrate a speedup for database joins using a general purpose graphics processing unit (GPGPU). The technique is novel in that it operates on an SQL virtual machine model developed using CUDA. The implementation compiles an SQL statement to instructions of the virtual machine that are then executed in parallel on the GPU. We use the threedimensional structure of the CUDA grid and thread model to perform a join on up to three relations at a time. Query execution results in speedups of 2 to 60 times on consumer-level GPUs depending on the size of the result set

    RAPID Programming of Pattern-Recognition Processors

    No full text

    Portable Programming with RAPID

    No full text

    LOGI: an empirical model of heat-induced disk drive data loss and its implications for data recovery

    No full text
    This artifact represents the replication materials for our paper on heat-induced disk drive data loss. Disk storage continues to be an important medium for data recording in software engineering, and recovering data from a failed storage disk can be expensive and time-consuming. Unfortunately, while physical damage instances are well documented, existing studies of data loss are limited, often only predicting times between failures. We present an empirical measurement of patterns of heat damage on indicative, low-cost commodity hard drives. Because damaged hard drives require many hours to read, we propose an efficient, accurate sampling algorithm. Using our empirical measurements, we develop LOGI, a formal mathematical model that, on average, predicts sector damage with precision, recall, F-measure, and accuracy values of over 0.95. We also present a case study on the usage of LOGI and discuss its implications for file carver software. We hope that this model is used by other researchers to simulate damage and bootstrap further study of disk failures, helping engineers make informed decisions about data storage for software systems

    Participants invested differently based on learned reputations.

    No full text
    <p><b>A</b>. Participants invested significantly more with FAIR partners than INDIFFERENT partners and with INDIFFERENT partners than UNFAIR partners, indicating they successfully learned the three different reputations. Shown as proportion of investment decisions (SEM), * p < 0.05 B. Shown as average proportion of investment decisions by partner type at the 20 sequential encounters participants had with each partner type (SEM).</p

    Caudate activity during decisions is bilaterally affected by reputation.

    No full text
    <p>A. Main effect of reputation on caudate activity displayed on a canonical T1 template (all activations whole brain p < 0.10, based on 3dClustSim correction [cluster size > 212, p < 0.001 uncorrected]). <b>B</b>. Both left and right caudate activity is increased to INDIFFERENT and UNFAIR partners relative to FAIR partners. Shown as parameter estimates extracted from 10mm spheres around areas of peak activity in left and right caudate (SEM), * p < 0.05.</p

    Higher left caudate activity to INDIFFERENT vs. FAIR partners predicted lower relative investment in INDIFFERENT vs. FAIR partners, r = -0.48, p = 0.01.

    No full text
    <p>Higher left caudate activity to INDIFFERENT vs. FAIR partners predicted lower relative investment in INDIFFERENT vs. FAIR partners, r = -0.48, p = 0.01.</p
    corecore